Chengdu Yingchuan Informationstechnologie Co., Ltd.
Startseite>Produkte>ModBus Kommunikationsprotokollpaket
ModBus Kommunikationsprotokollpaket
Das Modbus-Protokoll ist ein allgemeines Kommunikationsprotokoll, das heute weit verbreitet in der industriellen Steuerung eingesetzt wird, und Intel
Produktdetails

ModBus Kommunikationsprotokoll

Das Modbus-Protokoll ist ein allgemeines Kommunikationsprotokoll, das heute weit verbreitet in der industriellen Steuerung eingesetzt wird. Über dieses Protokoll können die Controller untereinander oder über ein Netzwerk wie Ethernet mit anderen Geräten kommunizieren. Das Modbus-Protokoll verwendet die Master-von-Kommunikationstechnologie, d.h. die aktive Abfrage und Bedienung von Master-Geräten. Das Protokoll, das vom Master-Gerät verwendet wird, wird in der Regel als Modbus Master bezeichnet und das von dem Gerät verwendet wird als Modbus Slave. Typische Hauptgeräte umfassen industrielle Steuerungen und industrielle Steuerungen; Typische programmierbare Controller von Geräten wie PLC usw. Die physische Kommunikationsschnittstelle Modbus kann serielle Anschlüsse (einschließlich RS232 und RS485) oder Ethernet-Anschlüsse wählen. Ihre Kommunikation folgt dem folgenden Prozess:

● Das Hauptgerät sendet Anfragen an das Gerät

Analyse und Bearbeitung der Anfragen des Hauptgerätes vom Gerät und das Senden der Ergebnisse an das Hauptgerät

● Wenn Fehler auftreten, wird ein außergewöhnlicher Funktionscode vom Gerät zurückgegeben


Produktbeschreibung der ModBus-Kommunikationsprotokoll-Software

Die ModBus-Kommunikationsprotokoll-Softwareprodukte von Intel® werden hauptsächlich in der Embedded-Motherboard-Umgebung von Intel® ARM9 eingesetzt. Die Intel® Industrial Control-Motherboards verfügen über eine reichhaltige Reihe von seriellen Ports, Netzwerkressourcen, universelle GPIO-Schnittstellen und andere Leistungen. In Kombination mit der ModBus-Kommunikationsprotokolsoftware können Anwendungsplattformen für Master (Master) und Device (Slave) nach ModBus-Kommunikationsspezifikationen sehr einfach erstellt werden. Das ModBus-Kommunikationsprotokollpaket ist in zwei unabhängig voneinander verwendbare Teile unterteilt: die ModBus-Master-Protokollsoftware (kurz modbus_Master) und die ModBus-Device-Side-Protokollsoftware (kurz modbus_Slave). Derzeit läuft die ModBus-Kommunikationsprotokollsoftware unter der WinCE-Umgebung und steht den Kunden als C-Funktion plus statische LIB-Bibliothek zur Verfügung. Die Hauptmerkmale sind:

Ideal für Echtzeit-Industrieanwendungen

Unterstützt seriellport-basierte ModBus-Anwendungen oder TCP-basierte ModBus-Anwendungen

RTU-Übertragungsmodus

Unterstützt die meisten Modbus-Code-Operationen, einschließlich Bit-Operationen für Spulen, Diskrete Schalter und Byte-Operationen für Register

• Unterstützung von Rundfunkadressen

Flexible Einstellung der Timeout der ModBus-Kommunikation

● Detaillierte Informationen über den Fehlercode des Übertragungsprotokolls in der Kommunikation erhalten werden können


Kommunikationsdiagramm der ModBus-Software


Funktionscode, der von der ModBus-Software unterstützt wird

Funktionscode

Beschreibung

1

Lesen einer einzelnen Spule

2

Lesen der diskreten Eingabe

3

Lesen mehrerer Register

4

Eingaberegister lesen

5

Schreiben einer einzelnen Spule

6

Schreiben eines einzelnen Registers

15

Mehrere Spulen schreiben

16

Mehrere Register schreiben

22

Schreibregister blockieren

23

Lesen/Schreiben von Registern


Grundlegende Anwendungsmethoden der Software

Um die Anwendung zu erleichtern und eine konsistente Codeform für verschiedene Kommunikationsmedien zu erhalten, können die API-Funktionen in der ModBus-Protokollsoftware (einschließlich modbus_Master und modbus_Slave) sowohl seriell als auch TCP-basiertes Modbus-Protokoll unterstützt werden. Die Anwendung muss nur durch verschiedene Parameter unterscheiden, wenn die Initialisierungsfunktion aufgerufen wird.


Anwendung von modbus_master

Die Anwendung als Modbus-Clientmodus besteht hauptsächlich darin, Anfragen vorzubereiten und Anfragen an Servergeräte zu senden und auf eine Antwort des Servers zu warten. Bei der Entwicklung solcher Anwendungen kann der Benutzer sich auf die Modbus-Standardliteratur sowie das Handbuch der Kommunikationsschnittstelle des überwachten Geräts beziehen und direkt das modbus_Master-Paket aufrufen, das die entsprechende Betriebs-API-Funktion zur Verfügung stellt, um den Zugriff auf das Server-Gerät und die Kontrolle zu erledigen. Bei der Entwicklung solcher Anwendungen muss der Benutzer nur modbus_master.h/modbus_master.lib enthalten.


Anwendung von modbus_slave

Die Anwendung als ModBus-Server-Modus muss hauptsächlich die Analyse und Reaktion auf ModBus-Anwendungsmeldungen implementieren, aber dies ist nur ein Teil der gesamten ModBus-Kommunikation, der andere Teil ist auch der Zugriff auf Anwendungsdaten erforderlich, der Inhalt muss der Benutzer selbst definieren. Zur Benutzerfreundlichkeit wurde das automatische Laden dieser Benutzeroberflächenfunktionen in Form eines Funktionszeigers im Modbus_Slave-Paket implementiert, der die Datenverarbeitung der Benutzeranwendung mit der ModBus-Anwendungsmeldungsreaktion verknüpft. Der Benutzer muss diese Schnittstellenfunktionen einfach nach Bedarf definieren, um die entsprechenden Funktionen zu implementieren, die jeweils durch eine spezielle CPP-Datei definiert werden: DataProvider.cpp.


Daraus ergibt sich, dass bei der Entwicklung dieser Art von Anwendungen zwei Teile des Inhalts enthalten werden müssen, zum einen die API-Funktion, die von modbus_slave.h/modbus_slave.lib definiert wurde. Der andere Teil ist die von DataProvider.h/DataProvider.cpp definierte Benutzerdatenschnittstellenfunktion, bei der die Schnittstellenfunktion vom Benutzer spezifisch in DataProvider.cpp implementiert werden muss.


Um rechtzeitig auf ModBus-Anwendungsmeldungen zu reagieren, ist es wichtig zu beachten, dass während der Programmierung ein Thread entworfen wird, der die Ausführungsfunktion modbus_Slave wiederholt aufruft, die im Blockiermodus ist.


Zum Beispiel:

(1) Starten des Modbus-Gerätepartenprotokolls

hPort = mbusSlave_StartupServer(_T)'*'), 1, 10000, mbusSlave_Interface );

oder

hPort=mbusSlave_StartupServer(_T)„COM3:9600-8-1-0“),1,10000, mbusSlave_Interface );


(2) Aufruf der Ausführungsfunktion Serverloop im Thread, um Anfragen zu beantworten

während( 1 )

{

//Aufruf der Ausführungsfunktion zur Analyse und Reaktion auf ModBus-Nachrichten.

Ergebnis = mbusSlave_ServerLoop( hPort );

    wenn(Ergebnis!=0)//Prüfen, ob ein Fehler zurückgegeben wird

{

      //Fehlerbehebung: Dieses Beispiel ist eine Textnachricht zum Abrufen und Drucken eines Fehlercodes.

wcscpy(szText, mbusSlave_GetErrorText(Ergebnis));

i1 = wcslen( szText );

      wenn( i1>0 )

{

wcstombs( strText, szText, i1 );

drucken(Fehlercode: %s! n'Stretex);

}

}

}


Früher wurde die ModBus-Kommunikationsprotokollsoftware als C-Funktion plus statische Bibliotheken (Datei modbus.lib oder libmodbus.a) an Kunden angeboten. Im Zuge der zunehmenden Nutzung durch Kunden installiert Intel das ModBus-Kommunikationsprotokoll, insbesondere die Masterprotokollsoftware (kurz modbus_Master) als dynamische Bibliothek (Datei modbus_Master.dll oder libmbusmaster.so) in das Intel Embedded Industrial Control-Motherboard-Kernel-System, um den Aufruf von Kundenanwendungen zu erleichtern. Das vorinstallierte Modbus-Protokoll umfasst alle Mainboards der ESM-Serie (ESM6802, ESM6800, ESM335x, ESM928x usw.).


Relevante Referenzen


4 bis 20mA Stromringerfassungsanwendungen Modbus Master-Kommunikationsprotokoll-Software unter WinCE

Modbus-Gerätepartprotokollsoftware unter WinCE Embedded Linux-Motherboard unterstützt Modbus-Protokollsoftware

Modbus-Software für Linux ESM6802 unterstützt Qt MODBUS Programmentwicklung

Vorinstallation des Modbus-Protokolls auf dem Intel Motherboard
Online-Anfrage
  • Kontakte
  • Unternehmen
  • Telefon
  • E-Mail
  • WeChat
  • Prüfcode
  • Nachrichteninhalt

Erfolgreicher Betrieb!

Erfolgreicher Betrieb!

Erfolgreicher Betrieb!